package com.lemon.soft.bookingroom.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;

import java.math.BigDecimal;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;
import lombok.Data;

/**
 * 
 * 
 * @author ${author}
 * @email ${email}
 * @date 2025-05-29 12:38:52
 */
@Data
@TableName("bookings")
public class BookingsEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 
	 */
	@TableId
	private Integer bookingId;
	/**
	 * 客户ID，关联users表
	 */
	private Integer userId;
	/**
	 * 会议室ID，关联meeting_rooms表
	 */
	private Integer roomId;
	/**
	 * 时间段状态ID，关联room_time_status表
	 */
	private Integer statusId;
	/**
	 * 预订开始时间
	 */
	private LocalDateTime startTime;
	/**
	 * 预订结束时间
	 */
	private LocalDateTime endTime;
	/**
	 * 参会人数
	 */
	private Integer participantCount;
	/**
	 * 所需设备
	 */
	private String requiredEquipment;
	/**
	 * 总价格
	 */
	private BigDecimal totalPrice;
	/**
	 * 支付状态：0-未支付，1-已支付，2-已取消
	 */
	private Integer paymentStatus;
	/**
	 * 支付时间
	 */
	private LocalDateTime paymentTime;
	/**
	 * 创建时间
	 */
	private LocalDateTime createTime;
	/**
	 * 更新时间
	 */
	private LocalDateTime updateTime;
	/**
	 * 逻辑删除标记：0-未删除，1-已删除
	 */
	@TableLogic
	private Integer isDelete;

	@TableField(exist = false)
	private MeetingRoomsEntity meetingRoom;  // 会议室信息
	@TableField(exist = false)
	private UsersEntity user;                // 客户信息
}
